public void doFlashMenuItem( DesktopMenu d ) { Graphics g = this.getGraphics(); if ( ( this.activeMenu != -1 ) && ( this.activeMenuItem != -1 ) ) { // Get menu item vector. Vector v = d.getVector(); // Flash three times. for ( int i = 0; i < 3; i++ ) { // Redraw menu background behind this menu item. g.setColor( dmb.getBackground() ); g.fillRect( activeMenuItemRect.x, activeMenuItemRect.y, activeMenuItemRect.width, activeMenuItemRect.height ); g.setColor( Color.black ); g.drawRect( d.getItemBounds().getBounds().x, d.getItemBounds().getBounds().y, d.getItemBounds().getBounds().width, d.getItemBounds().getBounds().height ); // Redraw menu item. g.setColor( Color.black ); g.drawString( ( ( DesktopMenuItem )v.elementAt( activeMenuItem ) ).getLabel(), ( ( DesktopMenuItem )v.elementAt( activeMenuItem ) ).getDrawPoint().x, ( ( DesktopMenuItem )v.elementAt( activeMenuItem ) ).getDrawPoint().y ); this.doMenuDelay(); // Redraw menu background behind this menu item. g.setColor( Color.blue ); g.fillRect( activeMenuItemRect.x, activeMenuItemRect.y, activeMenuItemRect.width, activeMenuItemRect.height ); g.setColor( Color.black ); g.drawRect( d.getItemBounds().getBounds().x, d.getItemBounds().getBounds().y, d.getItemBounds().getBounds().width, d.getItemBounds().getBounds().height ); // Redraw menu item. g.setColor( Color.white ); g.drawString( ( ( DesktopMenuItem )v.elementAt( activeMenuItem ) ).getLabel(), ( ( DesktopMenuItem )v.elementAt( activeMenuItem ) ).getDrawPoint().x, ( ( DesktopMenuItem )v.elementAt( activeMenuItem ) ).getDrawPoint().y ); this.doMenuDelay(); } } } public void doMenuDelay() { Calendar c = Calendar.getInstance(); Calendar old = Calendar.getInstance(); // Set the completion time. old.add( Calendar.MILLISECOND, Global.menuDelayMillis ); // Loop until the time has passed. while ( !c.after( old ) ) { c = Calendar.getInstance(); } }
Previous | Next |